home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
gfx
/
show
/
swfplayersrc.lha
/
Player
/
cy.c
< prev
next >
Wrap
C/C++ Source or Header
|
1999-03-22
|
1KB
|
38 lines
#ifndef PPC
#include <exec/types.h>
#include <inline/stubs.h>
/*
PRH:
GCC has problems with functions that have a large number of registerised
parameters. This file is just a quick hack to get things to work
correctly.
*/
extern struct Library *CyberGfxBase;
ULONG WritePixelArray(APTR srcRect, UWORD SrcX, UWORD SrcY, UWORD SrcMod, struct RastPort *RastPort, UWORD DestX, UWORD DestY, UWORD SizeX, UWORD SizeY, UBYTE SrcFormat)
{
register ULONG res __asm("d0");
register struct Library *a6 __asm("a6") = CyberGfxBase;
register APTR a0 __asm("a0") = srcRect;
register UWORD d0 __asm("d0") = SrcX;
register UWORD d1 __asm("d1") = SrcY;
register UWORD d2 __asm("d2") = SrcMod;
register struct RastPort *a1 __asm("a1") = RastPort;
register UWORD d3 __asm("d3") = DestX;
register UWORD d4 __asm("d4") = DestY;
register UWORD d5 __asm("d5") = SizeX;
register UWORD d6 __asm("d6") = SizeY;
register UBYTE d7 __asm("d7") = SrcFormat;
__asm volatile ("jsr a6@(-0x7e:W)"
: "=r" (res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (d3), "r" (d4), "r" (d5), "r" (d6), "r" (d7)
: "d0", "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
return res;
}
#endif